Digital rights management (DRM) is a term for access control technologies that are used by a content provider, such as a hardware manufacturer, a content publisher, a content copyright holder or another content owner. A content provider uses DRM technologies to impose limitations on the use of content or the devices that use the content. DRM is used to describe any technology that inhibits the use of content which is not desired or intended by a content provider.
Conditional access is the protection of content by requiring certain criteria to be met before granting access to the content. Conditional access can utilize encryption systems using encryption keys (also referred to as keys) and/or digital certificates. In encryption systems, an encryption key is generally a piece of information that determines the functional output of an encryption algorithm.
Encryption keys can be used in symmetric key encryption systems and in asymmetric encryption key encryption systems. Symmetric encryption key encryption systems often use a single encryption key, or two very similar encryption keys, shared by the sender and receiver for both encryption and decryption. To use a symmetric encryption key encryption system, the sender and receiver generally share an encryption key by some secure means in advance.
In an asymmetric encryption key encryption system the encryption key that is used to encrypt a message is not the same as the encryption key used to decrypt the message. Each user has a pair of encryption keys: a public encryption key and a private encryption key. The private encryption key is kept secret, while the public encryption key may be widely distributed. Messages can be encrypted with the recipient's public encryption key and can only be decrypted with the corresponding private encryption key, which is securely stored in the user device and is not disclosed. The public encryption key and the private encryption key can be related mathematically, but the private encryption key is not easily derived from the public encryption key.
Encryption key size is usually measured in bits of the encryption key that is used for an encryption algorithm. Strength of an encryption key is a measure of the keys resistance to being cracked, compromised or otherwise determined by an unauthorized user. Strength may be based on key size and/or other key attributes. The security of an encryption algorithm is generally related to its encryption key size or key strength since an encryption algorithm can be cracked by using a brute force algorithm. In general, a larger encryption key provides greater security because it takes longer for a brute force algorithm to crack an encryption algorithm having a larger encryption key. However, as time goes by, the strength of an encryption key used in an encryption system can diminish. This is because the computer systems used to run brute force algorithms to crack encryption keys and algorithms continuously improve and grow in strength relative to an encryption key which remains unchanged.
One type of DRM technology is a conditional access system (CAS). The CAS is typically a downloadable system which can be associated with a device that can host a download manager, or other devices. The CAS includes a CAS client. A CAS client is a computer program for the protection of content.
The device on which a CAS client resides is called a client device. The CAS client protects content, stored on or otherwise accessible to the client device, by requiring certain criteria to be met before granting access to the content. A client device is typically a consumer media device, such as a set-top box, a smart-phone, a computer, or any other device capable of storing or displaying content.
Traditionally, a CAS client is built into the client device. In a downloadable security system, or downloadable CAS system, a download manager sub-system is included in a client device that allows a CAS identity and CAS client to be downloaded and executed on the client device. In this case, when a new client device is purchased by a user, the client device may not have a CAS client that allows it to decrypt content. The client device, however, may have a bootstrap key that is used to secure the download of a cryptographic identity unique to the client device and a CAS client. Examples of a cryptographic identity unique to the client device are a private key for the client device or a symmetric client device key. A private key may also be associated with a digital certificate that is unique to a client device. However, in some situations, the bootstrap key may become obsolete or be considered at risk, for example, due to a small key size such as described above. In these instances, the cryptographic identity unique to the client device that is delivered to the client device using the bootstrap key is also considered at risk and compromised.
Typically, the CAS cannot determine which client devices have previously downloaded their cryptographic identities using an at risk bootstrap key. As a result, those client devices that have at risk cryptographic identities continue to download encrypted content even though the cryptographic identities used to encrypt the content are considered at risk for unauthorized access.
The security provided through a CAS client can become compromised if a cryptographic key in the CAS client is subject to being overcome by a brute force algorithm. Some cryptographic keys can become obsolete as computer systems running brute force algorithms or other cracking technologies become more powerful. For this reason, typically a public key digital certificate has a limited lifetime and is meant to expire when it is no longer safe to continue using the same key of this size. In the case of a bootstrap digital certificate, there are no easy or automated methods defined to replace it after expiration. When a bootstrap digital certificate is about to expire, it may be determined that the key size is still safe and the lifetime of this digital certificate could be extended. But there is still no convenient way to make such an update to thousands or millions of bootstrap digital certificates located in consumer devices.